﻿#define _CRT_SECURE_NO_WARNINGS
//95.
//给你两个字符串 word1 和 word2 。请你从 word1 开始，通过交替添加字母来合并字符串。
//如果一个字符串比另一个字符串长，就将多出来的字母追加到合并后字符串的末尾。
//
//返回 合并后的字符串 。
char* mergeAlternately(char* word1, char* word2) {
    int flag = 1;
    // 定义⻓度⼤于等于两个字符串⻓度之和的字符串
    char* ans = calloc(201, sizeof(char));
    int i = 0;
    // 遍历两字符串
    while (*word1 && *word2) {
        // 判断上⼀次合并的是哪个字符串，进⾏交替合并
        if (flag == 1) {
            ans[i++] = *word1++;
            flag = 0;
        }
        else {
            ans[i++] = *word2++;
            flag = 1;
        }
    }
    // 如果word1先结束，将word2剩余的内容合并
    if (*word1 == '\0') {
        while (*word2) {
            ans[i++] = *word2++;
        }
    }
    // 如果word2先结束，将word1剩余的内容合并
    else {
        while (*word1) {
            ans[i++] = *word1++;
        }
    }
    // 返回拼接后的字符串
    return ans;
}